using System;
using System.Collections.Generic;
using System.Data;
using Catastrophe.BasePC.UI.Model;
using Catastrophe.Initialize;

namespace Catastrophe.BasePC.UI.DbDal
{
	public interface IBaseAuthorityDal
	{
		DataTable QueryTemplateNow();

		DataTable GetUserAuthority(string userName, string userNo, string depart, string identity, string authorizeType);

		bool UpdateBind();

		bool TranInsertTemplate(List<SysAuthorityTemplateEntity> templateList);

		Tuple<bool, string, List<SysAuthorityTemplateEntity>> CreateTemplate<T>(T t) where T : class, new();

		Tuple<bool, string, List<SysAuthorityTemplateEntity>> CreateTemplate(Dictionary<string, Type> dic);

		Tuple<bool, string, List<SysAuthorityTemplateEntity>> CreateTemplate(Dictionary<string, List<IUserAuthorityTemplate>> dic);

		[Obsolete("use UserAuthorityLoad(Dictionary<string, List<IUserAuthorityTemplate>> dic, string userName, string userNo) instead")]
		Dictionary<string, dynamic> UserAuthorityLoad(Dictionary<string, Type> dic, string userName, string userNo);

		Dictionary<string, object> UserAuthorityLoad(Dictionary<string, List<IUserAuthorityTemplate>> dic, string userName, string userNo);

		DataTable UserAuthorityRefresh(string userName, string userNo);

		int SetIgnoreState(List<int> pkList, bool state, int flag);
	}
}
